import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { TypeOrmModule } from '@nestjs/typeorm';
// 子模块加载
import { UserModule } from './user/user.module';
import { PostsModule } from './posts/posts.module';
import { LoginModule } from './login/login.module';

@Module({
  imports: [
   // 加载连接数据库
   TypeOrmModule.forRoot({
    type: 'mysql', // 数据库类型
    host: 'localhost', // 数据库ip地址
    port: 3306, // 端口
    username: 'root', // 登录名
    password: '123456', // 密码   //因为mysql80 和最新的模块包有冲突 所以使用新的密码 修改  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
    database: 'nestjs', // 数据库名称
    entities: [__dirname + '/**/*.entity{.ts,.js}'], // 扫描本项目中.entity.ts或者.entity.js的文件
    synchronize: true, // 定义数据库表结构与实体类字段同步(这里一旦数据库少了字段就会自动加入,根据需要来使用)
   }),

    // 加载子模块
    UserModule,

    PostsModule,

    LoginModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
